{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Regularization\n",
    "\n",
    "Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that **overfitting can be a serious problem**, if the training dataset is not big enough. Sure it does well on the training set, but the learned network **doesn't generalize to new examples** that it has never seen!\n",
    "\n",
    "**You will learn to:** Use regularization in your deep learning models.\n",
    "\n",
    "Let's first import the packages you are going to use."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\ChengzhiYang\\深度学习作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:85: SyntaxWarning: assertion is always true, perhaps remove parentheses?\n",
      "  assert(parameters['W' + str(l)].shape == layer_dims[l], layer_dims[l-1])\n",
      "C:\\Users\\ChengzhiYang\\深度学习作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:86: SyntaxWarning: assertion is always true, perhaps remove parentheses?\n",
      "  assert(parameters['W' + str(l)].shape == layer_dims[l], 1)\n"
     ]
    }
   ],
   "source": [
    "# import packages\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from reg_utils import sigmoid, relu, plot_decision_boundary, initialize_parameters, load_2D_dataset, predict_dec\n",
    "from reg_utils import compute_cost, predict, forward_propagation, backward_propagation, update_parameters\n",
    "import sklearn\n",
    "import sklearn.datasets\n",
    "import scipy.io\n",
    "from testCases import *\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (7.0, 4.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Problem Statement**: You have just been hired as an AI expert by the French Football Corporation. They would like you to recommend positions where France's goal keeper should kick the ball so that the French team's players can then hit it with their head. \n",
    "\n",
    "<img src=\"images/field_kiank.png\" style=\"width:600px;height:350px;\">\n",
    "<caption><center> <u> **Figure 1** </u>: **Football field**<br> The goal keeper kicks the ball in the air, the players of each team are fighting to hit the ball with their head </center></caption>\n",
    "\n",
    "\n",
    "They give you the following 2D dataset from France's past 10 games."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_X, train_Y, test_X, test_Y = load_2D_dataset()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Each dot corresponds to a position on the football field where a football player has hit the ball with his/her head after the French goal keeper has shot the ball from the left side of the football field.\n",
    "- If the dot is blue, it means the French player managed to hit the ball with his/her head\n",
    "- If the dot is red, it means the other team's player hit the ball with their head\n",
    "\n",
    "**Your goal**: Use a deep learning model to find the positions on the field where the goalkeeper should kick the ball."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Analysis of the dataset**: This dataset is a little noisy, but it looks like a diagonal line separating the upper left half (blue) from the lower right half (red) would work well. \n",
    "\n",
    "You will first try a non-regularized model. Then you'll learn how to regularize it and decide which model you will choose to solve the French Football Corporation's problem. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 - Non-regularized model\n",
    "\n",
    "You will use the following neural network (already implemented for you below). This model can be used:\n",
    "- in *regularization mode* -- by setting the `lambd` input to a non-zero value. We use \"`lambd`\" instead of \"`lambda`\" because \"`lambda`\" is a reserved keyword in Python. \n",
    "- in *dropout mode* -- by setting the `keep_prob` to a value less than one\n",
    "\n",
    "You will first try the model without any regularization. Then, you will implement:\n",
    "- *L2 regularization* -- functions: \"`compute_cost_with_regularization()`\" and \"`backward_propagation_with_regularization()`\"\n",
    "- *Dropout* -- functions: \"`forward_propagation_with_dropout()`\" and \"`backward_propagation_with_dropout()`\"\n",
    "\n",
    "In each part, you will run this model with the correct inputs so that it calls the functions you've implemented. Take a look at the code below to familiarize yourself with the model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def model(X, Y, learning_rate = 0.3, num_iterations = 30000, print_cost = True, lambd = 0, keep_prob = 1):\n",
    "    \"\"\"\n",
    "    Implements a three-layer neural network: LINEAR->RELU->LINEAR->RELU->LINEAR->SIGMOID.\n",
    "    \n",
    "    Arguments:\n",
    "    X -- input data, of shape (input size, number of examples)\n",
    "    Y -- true \"label\" vector (1 for blue dot / 0 for red dot), of shape (output size, number of examples)\n",
    "    learning_rate -- learning rate of the optimization\n",
    "    num_iterations -- number of iterations of the optimization loop\n",
    "    print_cost -- If True, print the cost every 10000 iterations\n",
    "    lambd -- regularization hyperparameter, scalar\n",
    "    keep_prob - probability of keeping a neuron active during drop-out, scalar.\n",
    "    \n",
    "    Returns:\n",
    "    parameters -- parameters learned by the model. They can then be used to predict.\n",
    "    \"\"\"\n",
    "        \n",
    "    grads = {}\n",
    "    costs = []                            # to keep track of the cost\n",
    "    m = X.shape[1]                        # number of examples\n",
    "    layers_dims = [X.shape[0], 20, 3, 1]\n",
    "    \n",
    "    # Initialize parameters dictionary.\n",
    "    parameters = initialize_parameters(layers_dims)\n",
    "\n",
    "    # Loop (gradient descent)\n",
    "\n",
    "    for i in range(0, num_iterations):\n",
    "\n",
    "        # Forward propagation: LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID.\n",
    "        if keep_prob == 1:\n",
    "            a3, cache = forward_propagation(X, parameters)\n",
    "        elif keep_prob < 1:\n",
    "            a3, cache = forward_propagation_with_dropout(X, parameters, keep_prob)\n",
    "        \n",
    "        # Cost function\n",
    "        if lambd == 0:\n",
    "            cost = compute_cost(a3, Y)\n",
    "        else:\n",
    "            cost = compute_cost_with_regularization(a3, Y, parameters, lambd)\n",
    "            \n",
    "        # Backward propagation.\n",
    "        assert(lambd==0 or keep_prob==1)    # it is possible to use both L2 regularization and dropout, \n",
    "                                            # but this assignment will only explore one at a time\n",
    "        if lambd == 0 and keep_prob == 1:\n",
    "            grads = backward_propagation(X, Y, cache)\n",
    "        elif lambd != 0:\n",
    "            grads = backward_propagation_with_regularization(X, Y, cache, lambd)\n",
    "        elif keep_prob < 1:\n",
    "            grads = backward_propagation_with_dropout(X, Y, cache, keep_prob)\n",
    "        \n",
    "        # Update parameters.\n",
    "        parameters = update_parameters(parameters, grads, learning_rate)\n",
    "        \n",
    "        # Print the loss every 10000 iterations\n",
    "        if print_cost and i % 10000 == 0:\n",
    "            print(\"Cost after iteration {}: {}\".format(i, cost))\n",
    "        if print_cost and i % 1000 == 0:\n",
    "            costs.append(cost)\n",
    "    \n",
    "    # plot the cost\n",
    "    plt.plot(costs)\n",
    "    plt.ylabel('cost')\n",
    "    plt.xlabel('iterations (x1,000)')\n",
    "    plt.title(\"Learning rate =\" + str(learning_rate))\n",
    "    plt.show()\n",
    "    \n",
    "    return parameters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's train the model without any regularization, and observe the accuracy on the train/test sets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost after iteration 0: 0.6557412523481002\n",
      "Cost after iteration 10000: 0.1632998752572419\n",
      "Cost after iteration 20000: 0.13851642423239133\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "On the training set:\n",
      "Accuracy: 0.9478672985781991\n",
      "On the test set:\n",
      "Accuracy: 0.915\n"
     ]
    }
   ],
   "source": [
    "parameters = model(train_X, train_Y)\n",
    "print (\"On the training set:\")\n",
    "predictions_train = predict(train_X, train_Y, parameters)\n",
    "print (\"On the test set:\")\n",
    "predictions_test = predict(test_X, test_Y, parameters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The train accuracy is 94.8% while the test accuracy is 91.5%. This is the **baseline model** (you will observe the impact of regularization on this model). Run the following code to plot the decision boundary of your model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Model without regularization\")\n",
    "axes = plt.gca()\n",
    "axes.set_xlim([-0.75,0.40])\n",
    "axes.set_ylim([-0.75,0.65])\n",
    "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The non-regularized model is obviously overfitting the training set. It is fitting the noisy points! Lets now look at two techniques to reduce overfitting."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2 - L2 Regularization\n",
    "\n",
    "The standard way to avoid overfitting is called **L2 regularization**. It consists of appropriately modifying your cost function, from:\n",
    "$$J = -\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small  y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} \\tag{1}$$\n",
    "To:\n",
    "$$J_{regularized} = \\small \\underbrace{-\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} }_\\text{cross-entropy cost} + \\underbrace{\\frac{1}{m} \\frac{\\lambda}{2} \\sum\\limits_l\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2} }_\\text{L2 regularization cost} \\tag{2}$$\n",
    "\n",
    "Let's modify your cost and observe the consequences.\n",
    "\n",
    "**Exercise**: Implement `compute_cost_with_regularization()` which computes the cost given by formula (2). To calculate $\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2}$  , use :\n",
    "```python\n",
    "np.sum(np.square(Wl))\n",
    "```\n",
    "Note that you have to do this for $W^{[1]}$, $W^{[2]}$ and $W^{[3]}$, then sum the three terms and multiply by $ \\frac{1}{m} \\frac{\\lambda}{2} $."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "# GRADED FUNCTION: compute_cost_with_regularization\n",
    "\n",
    "def compute_cost_with_regularization(A3, Y, parameters, lambd):\n",
    "    \"\"\"\n",
    "    Implement the cost function with L2 regularization. See formula (2) above.\n",
    "    \n",
    "    Arguments:\n",
    "    A3 -- post-activation, output of forward propagation, of shape (output size, number of examples)\n",
    "    Y -- \"true\" labels vector, of shape (output size, number of examples)\n",
    "    parameters -- python dictionary containing parameters of the model\n",
    "    \n",
    "    Returns:\n",
    "    cost - value of the regularized loss function (formula (2))\n",
    "    \"\"\"\n",
    "    m = Y.shape[1]\n",
    "    W1 = parameters[\"W1\"]\n",
    "    W2 = parameters[\"W2\"]\n",
    "    W3 = parameters[\"W3\"]\n",
    "    \n",
    "    cross_entropy_cost = compute_cost(A3, Y) # This gives you the cross-entropy part of the cost\n",
    "    \n",
    "    ### START CODE HERE ### (approx. 1 line)\n",
    "    L2_regularization_cost = lambd * (np.sum(np.square(W1)) + np.sum(np.square(W2))  + np.sum(np.square(W3))) / (2 * m)\n",
    "    ### END CODER HERE ###\n",
    "    \n",
    "    cost = cross_entropy_cost + L2_regularization_cost\n",
    "    \n",
    "    return cost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "cost = 1.7864859451590758\n"
     ]
    }
   ],
   "source": [
    "A3, Y_assess, parameters = compute_cost_with_regularization_test_case()\n",
    "\n",
    "print(\"cost = \" + str(compute_cost_with_regularization(A3, Y_assess, parameters, lambd = 0.1)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Expected Output**: \n",
    "\n",
    "<table> \n",
    "    <tr>\n",
    "    <td>\n",
    "    **cost**\n",
    "    </td>\n",
    "        <td>\n",
    "    1.78648594516\n",
    "    </td>\n",
    "    \n",
    "    </tr>\n",
    "\n",
    "</table> "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Of course, because you changed the cost, you have to change backward propagation as well! All the gradients have to be computed with respect to this new cost. \n",
    "\n",
    "**Exercise**: Implement the changes needed in backward propagation to take into account regularization. The changes only concern dW1, dW2 and dW3. For each, you have to add the regularization term's gradient ($\\frac{d}{dW} ( \\frac{1}{2}\\frac{\\lambda}{m}  W^2) = \\frac{\\lambda}{m} W$)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# GRADED FUNCTION: backward_propagation_with_regularization\n",
    "\n",
    "def backward_propagation_with_regularization(X, Y, cache, lambd):\n",
    "    \"\"\"\n",
    "    Implements the backward propagation of our baseline model to which we added an L2 regularization.\n",
    "    \n",
    "    Arguments:\n",
    "    X -- input dataset, of shape (input size, number of examples)\n",
    "    Y -- \"true\" labels vector, of shape (output size, number of examples)\n",
    "    cache -- cache output from forward_propagation()\n",
    "    lambd -- regularization hyperparameter, scalar\n",
    "    \n",
    "    Returns:\n",
    "    gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n",
    "    \"\"\"\n",
    "    \n",
    "    m = X.shape[1]\n",
    "    (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cache\n",
    "    \n",
    "    dZ3 = A3 - Y\n",
    "    \n",
    "    ### START CODE HERE ### (approx. 1 line)\n",
    "    dW3 = 1./m * np.dot(dZ3, A2.T) + lambd * W3 / m\n",
    "    ### END CODE HERE ###\n",
    "    db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n",
    "    \n",
    "    dA2 = np.dot(W3.T, dZ3)\n",
    "    dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n",
    "    ### START CODE HERE ### (approx. 1 line)\n",
    "    dW2 = 1./m * np.dot(dZ2, A1.T) + lambd * W2 / m\n",
    "    ### END CODE HERE ###\n",
    "    db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n",
    "    \n",
    "    dA1 = np.dot(W2.T, dZ2)\n",
    "    dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n",
    "    ### START CODE HERE ### (approx. 1 line)\n",
    "    dW1 = 1./m * np.dot(dZ1, X.T) + lambd * W1 / m\n",
    "    ### END CODE HERE ###\n",
    "    db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n",
    "    \n",
    "    gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n",
    "                 \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n",
    "                 \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n",
    "    \n",
    "    return gradients"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dW1 = [[-0.25604646  0.12298827 -0.28297129]\n",
      " [-0.17706303  0.34536094 -0.4410571 ]]\n",
      "dW2 = [[ 0.79276486  0.85133918]\n",
      " [-0.0957219  -0.01720463]\n",
      " [-0.13100772 -0.03750433]]\n",
      "dW3 = [[-1.77691347 -0.11832879 -0.09397446]]\n"
     ]
    }
   ],
   "source": [
    "X_assess, Y_assess, cache = backward_propagation_with_regularization_test_case()\n",
    "\n",
    "grads = backward_propagation_with_regularization(X_assess, Y_assess, cache, lambd = 0.7)\n",
    "print (\"dW1 = \"+ str(grads[\"dW1\"]))\n",
    "print (\"dW2 = \"+ str(grads[\"dW2\"]))\n",
    "print (\"dW3 = \"+ str(grads[\"dW3\"]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Expected Output**:\n",
    "\n",
    "<table> \n",
    "    <tr>\n",
    "    <td>\n",
    "    **dW1**\n",
    "    </td>\n",
    "        <td>\n",
    "    [[-0.25604646  0.12298827 -0.28297129]\n",
    " [-0.17706303  0.34536094 -0.4410571 ]]\n",
    "    </td>\n",
    "    </tr>\n",
    "    <tr>\n",
    "    <td>\n",
    "    **dW2**\n",
    "    </td>\n",
    "        <td>\n",
    "    [[ 0.79276486  0.85133918]\n",
    " [-0.0957219  -0.01720463]\n",
    " [-0.13100772 -0.03750433]]\n",
    "    </td>\n",
    "    </tr>\n",
    "    <tr>\n",
    "    <td>\n",
    "    **dW3**\n",
    "    </td>\n",
    "        <td>\n",
    "    [[-1.77691347 -0.11832879 -0.09397446]]\n",
    "    </td>\n",
    "    </tr>\n",
    "</table> "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now run the model with L2 regularization $(\\lambda = 0.7)$. The `model()` function will call: \n",
    "- `compute_cost_with_regularization` instead of `compute_cost`\n",
    "- `backward_propagation_with_regularization` instead of `backward_propagation`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost after iteration 0: 0.6974484493131264\n",
      "Cost after iteration 10000: 0.2684918873282239\n",
      "Cost after iteration 20000: 0.2680916337127301\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "On the train set:\n",
      "Accuracy: 0.9383886255924171\n",
      "On the test set:\n",
      "Accuracy: 0.93\n"
     ]
    }
   ],
   "source": [
    "parameters = model(train_X, train_Y, lambd = 0.7)\n",
    "print (\"On the train set:\")\n",
    "predictions_train = predict(train_X, train_Y, parameters)\n",
    "print (\"On the test set:\")\n",
    "predictions_test = predict(test_X, test_Y, parameters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Congrats, the test set accuracy increased to 93%. You have saved the French football team!\n",
    "\n",
    "You are not overfitting the training data anymore. Let's plot the decision boundary."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Model with L2-regularization\")\n",
    "axes = plt.gca()\n",
    "axes.set_xlim([-0.75,0.40])\n",
    "axes.set_ylim([-0.75,0.65])\n",
    "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Observations**:\n",
    "- The value of $\\lambda$ is a hyperparameter that you can tune using a dev set.\n",
    "- L2 regularization makes your decision boundary smoother. If $\\lambda$ is too large, it is also possible to \"oversmooth\", resulting in a model with high bias.\n",
    "\n",
    "**What is L2-regularization actually doing?**:\n",
    "\n",
    "L2-regularization relies on the assumption that a model with small weights is simpler than a model with large weights. Thus, by penalizing the square values of the weights in the cost function you drive all the weights to smaller values. It becomes too costly for the cost to have large weights! This leads to a smoother model in which the output changes more slowly as the input changes. \n",
    "\n",
    "<font color='blue'>\n",
    "**What you should remember** -- the implications of L2-regularization on:\n",
    "- The cost computation:\n",
    "    - A regularization term is added to the cost\n",
    "- The backpropagation function:\n",
    "    - There are extra terms in the gradients with respect to weight matrices\n",
    "- Weights end up smaller (\"weight decay\"): \n",
    "    - Weights are pushed to smaller values."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3 - Dropout\n",
    "\n",
    "Finally, **dropout** is a widely used regularization technique that is specific to deep learning. \n",
    "**It randomly shuts down some neurons in each iteration.** Watch these two videos to see what this means!\n",
    "\n",
    "<!--\n",
    "To understand drop-out, consider this conversation with a friend:\n",
    "- Friend: \"Why do you need all these neurons to train your network and classify images?\". \n",
    "- You: \"Because each neuron contains a weight and can learn specific features/details/shape of an image. The more neurons I have, the more featurse my model learns!\"\n",
    "- Friend: \"I see, but are you sure that your neurons are learning different features and not all the same features?\"\n",
    "- You: \"Good point... Neurons in the same layer actually don't talk to each other. It should be definitly possible that they learn the same image features/shapes/forms/details... which would be redundant. There should be a solution.\"\n",
    "!--> \n",
    "\n",
    "\n",
    "<center>\n",
    "<video width=\"620\" height=\"440\" src=\"images/dropout1_kiank.mp4\" type=\"video/mp4\" controls>\n",
    "</video>\n",
    "</center>\n",
    "<br>\n",
    "<caption><center> <u> Figure 2 </u>: Drop-out on the second hidden layer. <br> At each iteration, you shut down (= set to zero) each neuron of a layer with probability $1 - keep\\_prob$ or keep it with probability $keep\\_prob$ (50% here). The dropped neurons don't contribute to the training in both the forward and backward propagations of the iteration. </center></caption>\n",
    "\n",
    "<center>\n",
    "<video width=\"620\" height=\"440\" src=\"images/dropout2_kiank.mp4\" type=\"video/mp4\" controls>\n",
    "</video>\n",
    "</center>\n",
    "\n",
    "<caption><center> <u> Figure 3 </u>: Drop-out on the first and third hidden layers. <br> $1^{st}$ layer: we shut down on average 40% of the neurons.  $3^{rd}$ layer: we shut down on average 20% of the neurons. </center></caption>\n",
    "\n",
    "\n",
    "When you shut some neurons down, you actually modify your model. The idea behind drop-out is that at each iteration, you train a different model that uses only a subset of your neurons. With dropout, your neurons thus become less sensitive to the activation of one other specific neuron, because that other neuron might be shut down at any time. \n",
    "\n",
    "### 3.1 - Forward propagation with dropout\n",
    "\n",
    "**Exercise**: Implement the forward propagation with dropout. You are using a 3 layer neural network, and will add dropout to the first and second hidden layers. We will not apply dropout to the input layer or output layer. \n",
    "\n",
    "**Instructions**:\n",
    "You would like to shut down some neurons in the first and second layers. To do that, you are going to carry out 4 Steps:\n",
    "1. In lecture, we dicussed creating a variable $d^{[1]}$ with the same shape as $a^{[1]}$ using `np.random.rand()` to randomly get numbers between 0 and 1. Here, you will use a vectorized implementation, so create a random matrix $D^{[1]} = [d^{[1](1)} d^{[1](2)} ... d^{[1](m)}] $ of the same dimension as $A^{[1]}$.\n",
    "2. Set each entry of $D^{[1]}$ to be 0 with probability (`1-keep_prob`) or 1 with probability (`keep_prob`), by thresholding values in $D^{[1]}$ appropriately. Hint: to set all the entries of a matrix X to 0 (if entry is less than 0.5) or 1 (if entry is more than 0.5) you would do: `X = (X < 0.5)`. Note that 0 and 1 are respectively equivalent to False and True.\n",
    "3. Set $A^{[1]}$ to $A^{[1]} * D^{[1]}$. (You are shutting down some neurons). You can think of $D^{[1]}$ as a mask, so that when it is multiplied with another matrix, it shuts down some of the values.\n",
    "4. Divide $A^{[1]}$ by `keep_prob`. By doing this you are assuring that the result of the cost will still have the same expected value as without drop-out. (This technique is also called inverted dropout.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "# GRADED FUNCTION: forward_propagation_with_dropout\n",
    "\n",
    "def forward_propagation_with_dropout(X, parameters, keep_prob = 0.5):\n",
    "    \"\"\"\n",
    "    Implements the forward propagation: LINEAR -> RELU + DROPOUT -> LINEAR -> RELU + DROPOUT -> LINEAR -> SIGMOID.\n",
    "    \n",
    "    Arguments:\n",
    "    X -- input dataset, of shape (2, number of examples)\n",
    "    parameters -- python dictionary containing your parameters \"W1\", \"b1\", \"W2\", \"b2\", \"W3\", \"b3\":\n",
    "                    W1 -- weight matrix of shape (20, 2)\n",
    "                    b1 -- bias vector of shape (20, 1)\n",
    "                    W2 -- weight matrix of shape (3, 20)\n",
    "                    b2 -- bias vector of shape (3, 1)\n",
    "                    W3 -- weight matrix of shape (1, 3)\n",
    "                    b3 -- bias vector of shape (1, 1)\n",
    "    keep_prob - probability of keeping a neuron active during drop-out, scalar\n",
    "    \n",
    "    Returns:\n",
    "    A3 -- last activation value, output of the forward propagation, of shape (1,1)\n",
    "    cache -- tuple, information stored for computing the backward propagation\n",
    "    \"\"\"\n",
    "    \n",
    "    np.random.seed(1)\n",
    "    \n",
    "    # retrieve parameters\n",
    "    W1 = parameters[\"W1\"]\n",
    "    b1 = parameters[\"b1\"]\n",
    "    W2 = parameters[\"W2\"]\n",
    "    b2 = parameters[\"b2\"]\n",
    "    W3 = parameters[\"W3\"]\n",
    "    b3 = parameters[\"b3\"]\n",
    "    \n",
    "    # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID\n",
    "    Z1 = np.dot(W1, X) + b1\n",
    "    A1 = relu(Z1)\n",
    "    ### START CODE HERE ### (approx. 4 lines)         # Steps 1-4 below correspond to the Steps 1-4 described above. \n",
    "    D1 = np.random.rand(A1.shape[0],A1.shape[1])                                         # Step 1: initialize matrix D1 = np.random.rand(..., ...)\n",
    "    D1 = D1 < keep_prob                                         # Step 2: convert entries of D1 to 0 or 1 (using keep_prob as the threshold)\n",
    "    A1 = A1 * D1                                         # Step 3: shut down some neurons of A1\n",
    "    A1 = A1 / keep_prob                                         # Step 4: scale the value of neurons that haven't been shut down\n",
    "    ### END CODE HERE ###\n",
    "    Z2 = np.dot(W2, A1) + b2\n",
    "    A2 = relu(Z2)\n",
    "    ### START CODE HERE ### (approx. 4 lines)\n",
    "    D2 = np.random.rand(A2.shape[0],A2.shape[1])                                       # Step 1: initialize matrix D2 = np.random.rand(..., ...)\n",
    "    D2 = D2 < keep_prob                                          # Step 2: convert entries of D2 to 0 or 1 (using keep_prob as the threshold)\n",
    "    A2 = A2 * D2                                         # Step 3: shut down some neurons of A2\n",
    "    A2 = A2 / keep_prob                                         # Step 4: scale the value of neurons that haven't been shut down\n",
    "    ### END CODE HERE ###\n",
    "    Z3 = np.dot(W3, A2) + b3\n",
    "    A3 = sigmoid(Z3)\n",
    "    \n",
    "    cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3)\n",
    "    \n",
    "    return A3, cache"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A3 = [[0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n"
     ]
    }
   ],
   "source": [
    "X_assess, parameters = forward_propagation_with_dropout_test_case()\n",
    "\n",
    "A3, cache = forward_propagation_with_dropout(X_assess, parameters, keep_prob = 0.7)\n",
    "print (\"A3 = \" + str(A3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Expected Output**: \n",
    "\n",
    "<table> \n",
    "    <tr>\n",
    "    <td>\n",
    "    **A3**\n",
    "    </td>\n",
    "        <td>\n",
    "    [[ 0.36974721  0.00305176  0.04565099  0.49683389  0.36974721]]\n",
    "    </td>\n",
    "    \n",
    "    </tr>\n",
    "\n",
    "</table> "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 - Backward propagation with dropout\n",
    "\n",
    "**Exercise**: Implement the backward propagation with dropout. As before, you are training a 3 layer network. Add dropout to the first and second hidden layers, using the masks $D^{[1]}$ and $D^{[2]}$ stored in the cache. \n",
    "\n",
    "**Instruction**:\n",
    "Backpropagation with dropout is actually quite easy. You will have to carry out 2 Steps:\n",
    "1. You had previously shut down some neurons during forward propagation, by applying a mask $D^{[1]}$ to `A1`. In backpropagation, you will have to shut down the same neurons, by reapplying the same mask $D^{[1]}$ to `dA1`. \n",
    "2. During forward propagation, you had divided `A1` by `keep_prob`. In backpropagation, you'll therefore have to divide `dA1` by `keep_prob` again (the calculus interpretation is that if $A^{[1]}$ is scaled by `keep_prob`, then its derivative $dA^{[1]}$ is also scaled by the same `keep_prob`).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# GRADED FUNCTION: backward_propagation_with_dropout\n",
    "\n",
    "def backward_propagation_with_dropout(X, Y, cache, keep_prob):\n",
    "    \"\"\"\n",
    "    Implements the backward propagation of our baseline model to which we added dropout.\n",
    "    \n",
    "    Arguments:\n",
    "    X -- input dataset, of shape (2, number of examples)\n",
    "    Y -- \"true\" labels vector, of shape (output size, number of examples)\n",
    "    cache -- cache output from forward_propagation_with_dropout()\n",
    "    keep_prob - probability of keeping a neuron active during drop-out, scalar\n",
    "    \n",
    "    Returns:\n",
    "    gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n",
    "    \"\"\"\n",
    "    \n",
    "    m = X.shape[1]\n",
    "    (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) = cache\n",
    "    \n",
    "    dZ3 = A3 - Y\n",
    "    dW3 = 1./m * np.dot(dZ3, A2.T)\n",
    "    db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n",
    "    dA2 = np.dot(W3.T, dZ3)\n",
    "    ### START CODE HERE ### (≈ 2 lines of code)\n",
    "    dA2 = dA2 * D2              # Step 1: Apply mask D2 to shut down the same neurons as during the forward propagation 舍弃那些关闭的节点\n",
    "    dA2 = dA2 / keep_prob              # Step 2: Scale the value of neurons that haven't been shut down 缩放未舍弃的节点(不为0)的值\n",
    "    ### END CODE HERE ###\n",
    "    dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n",
    "    dW2 = 1./m * np.dot(dZ2, A1.T)\n",
    "    db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n",
    "    \n",
    "    dA1 = np.dot(W2.T, dZ2)\n",
    "    ### START CODE HERE ### (≈ 2 lines of code)\n",
    "    dA1 = dA1 * D1              # Step 1: Apply mask D1 to shut down the same neurons as during the forward propagation\n",
    "    dA1 = dA1 / keep_prob              # Step 2: Scale the value of neurons that haven't been shut down\n",
    "    ### END CODE HERE ###\n",
    "    dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n",
    "    dW1 = 1./m * np.dot(dZ1, X.T)\n",
    "    db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n",
    "    \n",
    "    gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n",
    "                 \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n",
    "                 \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n",
    "    \n",
    "    return gradients"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dA1 = [[ 0.36544439  0.         -0.00188233  0.         -0.17408748]\n",
      " [ 0.65515713  0.         -0.00337459  0.         -0.        ]]\n",
      "dA2 = [[ 0.58180856  0.         -0.00299679  0.         -0.27715731]\n",
      " [ 0.          0.53159854 -0.          0.53159854 -0.34089673]\n",
      " [ 0.          0.         -0.00292733  0.         -0.        ]]\n"
     ]
    }
   ],
   "source": [
    "X_assess, Y_assess, cache = backward_propagation_with_dropout_test_case()\n",
    "\n",
    "gradients = backward_propagation_with_dropout(X_assess, Y_assess, cache, keep_prob = 0.8)\n",
    "\n",
    "print (\"dA1 = \" + str(gradients[\"dA1\"]))\n",
    "print (\"dA2 = \" + str(gradients[\"dA2\"]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Expected Output**: \n",
    "\n",
    "<table> \n",
    "    <tr>\n",
    "    <td>\n",
    "    **dA1**\n",
    "    </td>\n",
    "        <td>\n",
    "    [[ 0.36544439  0.         -0.00188233  0.         -0.17408748]\n",
    " [ 0.65515713  0.         -0.00337459  0.         -0.        ]]\n",
    "    </td>\n",
    "    \n",
    "    </tr>\n",
    "    <tr>\n",
    "    <td>\n",
    "    **dA2**\n",
    "    </td>\n",
    "        <td>\n",
    "    [[ 0.58180856  0.         -0.00299679  0.         -0.27715731]\n",
    " [ 0.          0.53159854 -0.          0.53159854 -0.34089673]\n",
    " [ 0.          0.         -0.00292733  0.         -0.        ]]\n",
    "    </td>\n",
    "    \n",
    "    </tr>\n",
    "</table> "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now run the model with dropout (`keep_prob = 0.86`). It means at every iteration you shut down each neurons of layer 1 and 2 with 24% probability. The function `model()` will now call:\n",
    "- `forward_propagation_with_dropout` instead of `forward_propagation`.\n",
    "- `backward_propagation_with_dropout` instead of `backward_propagation`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost after iteration 0: 0.6543912405149825\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\ChengzhiYang\\深度学习作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:236: RuntimeWarning: divide by zero encountered in log\n",
      "  logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n",
      "C:\\Users\\ChengzhiYang\\深度学习作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:236: RuntimeWarning: invalid value encountered in multiply\n",
      "  logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost after iteration 10000: 0.061016986574905605\n",
      "Cost after iteration 20000: 0.060582435798513114\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "On the train set:\n",
      "Accuracy: 0.9289099526066351\n",
      "On the test set:\n",
      "Accuracy: 0.95\n"
     ]
    }
   ],
   "source": [
    "parameters = model(train_X, train_Y, keep_prob = 0.86, learning_rate = 0.3)\n",
    "\n",
    "print (\"On the train set:\")\n",
    "predictions_train = predict(train_X, train_Y, parameters)\n",
    "print (\"On the test set:\")\n",
    "predictions_test = predict(test_X, test_Y, parameters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Dropout works great! The test accuracy has increased again (to 95%)! Your model is not overfitting the training set and does a great job on the test set. The French football team will be forever grateful to you! \n",
    "\n",
    "Run the code below to plot the decision boundary."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"Model with dropout\")\n",
    "axes = plt.gca()\n",
    "axes.set_xlim([-0.75,0.40])\n",
    "axes.set_ylim([-0.75,0.65])\n",
    "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**Note**:\n",
    "- A **common mistake** when using dropout is to use it both in training and testing. You should use dropout (randomly eliminate nodes) only in training. \n",
    "- Deep learning frameworks like [tensorflow](https://www.tensorflow.org/api_docs/python/tf/nn/dropout), [PaddlePaddle](http://doc.paddlepaddle.org/release_doc/0.9.0/doc/ui/api/trainer_config_helpers/attrs.html), [keras](https://keras.io/layers/core/#dropout) or [caffe](http://caffe.berkeleyvision.org/tutorial/layers/dropout.html) come with a dropout layer implementation. Don't stress - you will soon learn some of these frameworks.\n",
    "\n",
    "<font color='blue'>\n",
    "**What you should remember about dropout:**\n",
    "- Dropout is a regularization technique.\n",
    "- You only use dropout during training. Don't use dropout (randomly eliminate nodes) during test time.\n",
    "- Apply dropout both during forward and backward propagation.\n",
    "- During training time, divide each dropout layer by keep_prob to keep the same expected value for the activations. For example, if keep_prob is 0.5, then we will on average shut down half the nodes, so the output will be scaled by 0.5 since only the remaining half are contributing to the solution. Dividing by 0.5 is equivalent to multiplying by 2. Hence, the output now has the same expected value. You can check that this works even when keep_prob is other values than 0.5.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4 - Conclusions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Here are the results of our three models**: \n",
    "\n",
    "<table> \n",
    "    <tr>\n",
    "        <td>\n",
    "        **model**\n",
    "        </td>\n",
    "        <td>\n",
    "        **train accuracy**\n",
    "        </td>\n",
    "        <td>\n",
    "        **test accuracy**\n",
    "        </td>\n",
    "\n",
    "    </tr>\n",
    "        <td>\n",
    "        3-layer NN without regularization\n",
    "        </td>\n",
    "        <td>\n",
    "        95%\n",
    "        </td>\n",
    "        <td>\n",
    "        91.5%\n",
    "        </td>\n",
    "    <tr>\n",
    "        <td>\n",
    "        3-layer NN with L2-regularization\n",
    "        </td>\n",
    "        <td>\n",
    "        94%\n",
    "        </td>\n",
    "        <td>\n",
    "        93%\n",
    "        </td>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <td>\n",
    "        3-layer NN with dropout\n",
    "        </td>\n",
    "        <td>\n",
    "        93%\n",
    "        </td>\n",
    "        <td>\n",
    "        95%\n",
    "        </td>\n",
    "    </tr>\n",
    "</table> "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that regularization hurts training set performance! This is because it limits the ability of the network to overfit to the training set. But since it ultimately gives better test accuracy, it is helping your system. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Congratulations for finishing this assignment! And also for revolutionizing French football. :-) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "<font color='blue'>\n",
    "**What we want you to remember from this notebook**:\n",
    "- Regularization will help you reduce overfitting.\n",
    "- Regularization will drive your weights to lower values.\n",
    "- L2 regularization and Dropout are two very effective regularization techniques."
   ]
  }
 ],
 "metadata": {
  "coursera": {
   "course_slug": "deep-neural-network",
   "graded_item_id": "SXQaI",
   "launcher_item_id": "UAwhh"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
